\section{Обрезка строк}
\newcommand{\CRLF}{\ac{CR}/\ac{LF}}

Весьма востребованная операция со строками --- это удаление некоторых символов в начале и/или конце
строки.

В этом примере, мы будем работать с функцией, удаляющей все символы перевода строки 
(\CRLF{}) в конце входной строки:

\lstinputlisting[style=customc]{\CURPATH/strtrim_RU.c}

Входной аргумент всегда возвращается на выходе, это удобно, когда вам нужно объединять
функции обработки строк в цепочки, как это сделано здесь в функции \main.

\myindex{\CLanguageElements!Short-circuit}
Вторая часть for() (\TT{str\_len>0 \&\& (c=s[str\_len-1])}) называется в \CCpp \q{short-circuit} 
(короткое замыкание) и это очень удобно: \InSqBrackets{\CNotes 1.3.8}.

Компиляторы \CCpp гарантируют последовательное вычисление слева направо.

Так что если первое условие не истинно после вычисления, второе никогда не будет
вычисляться.

% subsections
\input{\CURPATH/x64_RU}
\input{\CURPATH/ARM64_RU}
\input{\CURPATH/ARM_RU}
\input{\CURPATH/MIPS_RU}

